package com.br.fiscalizacao.domain;

import com.br.fiscalizacao.reference.DocumentoTipo;
import com.br.fiscalizacao.reference.RequisicaoTipo;
import com.br.fiscalizacao.reference.SituacaoDoc;
import com.br.fiscalizacao.reference.SituacaoReq;
import java.util.Date;
import javax.persistence.Enumerated;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.Past;
import javax.validation.constraints.Size;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.jpa.activerecord.RooJpaActiveRecord;
import org.springframework.roo.addon.tostring.RooToString;

@RooJavaBean
@RooToString
@RooJpaActiveRecord
public abstract class AbstractRequisicaoDoc {

    @Size(max = 8)
    private String num_requisicao;

    @Size(max = 8)
    private String num_documento;

    @Enumerated
    private DocumentoTipo tipo_documento;

    @Past
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "M-")
    private Date data_documento;

    @Size(max = 60)
    private String assunto;

    @Size(max = 60)
    private String responsavel;

    @Size(max = 60)
    private String interessado;

    @Enumerated
    private SituacaoDoc situacao_documento;

    @Enumerated
    private RequisicaoTipo tipo_requisicao;

    @Past
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "M-")
    private Date data_requisicao;

    @Enumerated
    private SituacaoReq situacaoRequisicao;
}
